home *** CD-ROM | disk | FTP | other *** search
/ Xenosoft 2 / Xenosoft 2 (Game collection)(1994).iso / bioforge / script / beach.scp < prev    next >
Text File  |  1994-12-08  |  8KB  |  445 lines

  1. // ***BEACH LEVEL***
  2.  
  3. { BEACH_LOAD
  4.  
  5.     ^à╝            = $âä         
  6.  
  7.     // IF LEX IS WEARING THE REFLECT SUIT MAKE SURE THE BATTERY CONTINUES
  8.     // TO BE DRAINED.       -BKA-
  9.     @Ç¢               PLAYER
  10.     I ( @Ç⌐      (LEXMIR) ) THEN
  11.         {
  12.         ^ä╝                    = @Çì      REFLECTBATTDRAIN
  13.         }
  14.  
  15.     // RESTART BIOREPAIR IF IT IS STILL ACTIVE
  16.     I  ^ïâ        = 1 THEN
  17.         ^Ä₧  = @Çì      BIOREPAIR
  18.  
  19.     @Çì      MASTABA_THREATENS_ESCHER
  20.     @Çì      CREATE_WARHEAD
  21.     @Çì      MISSLE_BLINKIE             
  22.     @Çì      READY_TUMOLT
  23.     I  ^çô              THEN @Çì      CREATE_BLASTERS
  24.     @Çì      READY_MARINE2
  25.     @Çì      READY_MARINE3A
  26.     I  ^çô              == $Ç╗    THEN
  27.         @Çì      READY_BEACHBOTS
  28.     E   
  29.         @Çì      KILL_BEACHBOTS
  30.  
  31.     // RESET TONFA GUN -BKA
  32.     ^ïÆ             = 0
  33.     ^ïò         = 0
  34.  
  35.     I  ^åÆ    = 1 THEN
  36.         {
  37.         G  FRM_PAD
  38.         C      BCH3
  39.         }
  40.  
  41.     I  ^åÆ    = 2 THEN
  42.         {
  43.         G  TO_CTY
  44.         }
  45.     
  46.     I  ^åÆ    = 3 THEN
  47.         {
  48.         @Çì      HARD_SUIT_OPEN_BEACH
  49.         J    #Çü
  50.         }
  51.     C      UNLOCK
  52.  
  53.     // @PROCESS READY_ACID
  54.  
  55.     @Çì      ESCHERS_PLEES_FOR_HELP
  56.  
  57.     :END
  58. }
  59.  
  60. { BCHZ_LOAD
  61.  
  62.     :LOOP       
  63.     W    3
  64.     I  ^颠        == 2 THEN 
  65.     {        
  66.         ^éÅ         = 0
  67.         â      
  68.         J    #Çâ 
  69.     }
  70.     ^颠        ++
  71.     â      
  72.  
  73.     J    #Çâ 
  74.  
  75. }
  76.  
  77. { BCH4_LOAD
  78.  
  79.     W    5 SECONDS
  80.     i           LEX BLOCKS
  81.  
  82. }
  83.  
  84.  
  85. { BCH8_LOAD
  86.  
  87.     W    5 SECONDS
  88.     i           LEX BLOCKS
  89.  
  90. }
  91.  
  92.  
  93. { BCHDETH
  94.  
  95.     // THIS ROUTINE IS THE CONTROL FOR LEX'S DEATH IN THE BEACH
  96.  
  97.     I  @Çó             ^ä╛                  THEN
  98.                    ^ä╛                 
  99.     I  @Çó             ^ä╜          THEN
  100.         {
  101.         ñ            CURFIG
  102.         é     
  103.         }
  104.     @Çì      ANIMATE_ACID
  105.     @Ç¢               PLAYER
  106.     M      STAND SNAP_TO
  107.     £    180
  108.     G  MELT
  109.     ñ            CURFIG
  110.     A  OFF
  111.     u          CURFIG OFF
  112.     Z       CURFIG OFF
  113.     M      DROWN 150 CONTINUE
  114.     W    5
  115.     @Çå   (`Ç¢        ,150)
  116.     W    1 SECOND
  117.     @Çå    `ä½          
  118.     //WAIT 3 SECONDS
  119.     â      
  120.     O     $Çà     
  121.     @Ç¥   KILLLEX
  122.  
  123. }
  124.  
  125. [ ANIMATE_ACID
  126.     :TOP
  127.     00:00 ^颠        = 0
  128.     00:03 ^颠        = 1
  129.     00:06 ^颠        = 2
  130.     00:09 ò            
  131.           J    #Çê
  132. ]
  133.  
  134. { CREATE_BLASTERS
  135.  
  136.     I  @ÇÜ             BLASTERM3A == 0 THEN
  137.         {
  138.         e          BLASTER
  139.         n             CURITEM BLASTERM3A
  140.         f         COORDS -4642 -3822 -40
  141.         }
  142.     I  @ÇÜ             BLASTERM2 == 0 THEN
  143.         {
  144.         e          BLASTER
  145.         n             CURITEM BLASTERM2
  146.         f         COORDS -4759 -4009 -40
  147.         }
  148. }
  149.  
  150. { CREATE_WARHEAD
  151.  
  152.     e          BOMB
  153.     f         COORDS 6666 6666 6666
  154. }
  155.  
  156. { TO_PAD
  157.     // TRANSIT TO LANDPAD
  158.     I  @Çó             ^àà                   == $Ç╝   && ^àç            > 0 THEN
  159.         {
  160.         @Ç¥   BLAST_LEX
  161.         é     
  162.         }
  163.     @Ç¢               PLAYER
  164.     M      STAND CONTINUE
  165.     S         LANDPAD FROM_BCH
  166. }
  167.  
  168. // ***BEACH LEVEL USABLE TRIGGERS***
  169.  
  170. {   FRM_PAD_USE
  171.  
  172.     ^åÉ      = 2
  173.     @Ç¢               PLAYER
  174.     o         
  175.     M      STAND CONTINUE
  176.     S         LANDPAD
  177. }
  178.  
  179. {   TO_LNDR_USE
  180.  
  181.     G  TO_LDG
  182. }
  183.  
  184. {   TO_LDG_USE
  185.  
  186.     G  TO_LNDR
  187. }
  188.  
  189. {   TO_CTY_USE
  190.  
  191.     ^åô      = 1
  192.     S         DIGSITE
  193. }
  194.  
  195. { TO_TPL
  196.     // TRANSIT TO TEMPLE
  197.  
  198.     S         TUNROOM FROM_BCH
  199. }
  200.  
  201. // IN BCH4 - FROM THE LEDGE TO THE BLOCKS
  202. { FOOTBCH
  203.     
  204.     I  ^çó       = 0 THEN 
  205.         {
  206.         ^çó       = 1
  207.                     `îè               `ëû          
  208.                     `                   `ëû          
  209.                     `î┤              `ëû          
  210.                     `ìë                    `ëû          
  211.                     `ì₧                    `ëû          
  212.         }
  213.     E    
  214.         {
  215.         ä           `îè               
  216.         ä           `                   
  217.         ä           `î┤              
  218.         ä           `ìë                    
  219.         ä           `ì₧                    
  220.         ^çó       = 0
  221.         }
  222. }
  223.  
  224. // IN BCH? - FROM DIRT TO STONE
  225. { FOOTBCH2
  226.  
  227.     I  ^çó       = 0 THEN 
  228.         {
  229.         ^çó       = 1
  230.                     `îÖ               `ëû          
  231.                     `î«                    `ëû          
  232.                     `ìâ              `ëû          
  233.                     `ìÿ                    `ëû          
  234.                     `ì¡                    `ëû          
  235.         }
  236.     E    
  237.         {
  238.         ä           `îÖ               
  239.         ä           `î«                    
  240.         ä           `ìâ              
  241.         ä           `ìÿ                    
  242.         ä           `ì¡                    
  243.         ^çó       = 0
  244.         }
  245. }
  246.  
  247.  
  248.  
  249. // *** LANDER ***
  250.  
  251. { LND_LOAD
  252.  
  253.  
  254.     @Çì      REACTIVATE_TUMOLT
  255.     W    20 SECONDS
  256.     i           LEX SHIPWRCK
  257. }
  258.  
  259. [ HARD_SUIT_OPEN_BEACH
  260.     
  261.     00:00 @Çè               (^éñ       , -1, 27, 1, 4)    
  262.     00:00 @Çè               (^éÑ       , -1, 27, 1, 4)    
  263.     00:00 @Çå    `â¿      
  264.           A  ON
  265. ]
  266. [ HARD_SUIT_CLOSE_BEACH
  267.  
  268.     00:00 ^éñ        = 1
  269.           ^éÑ        = 1
  270.           @Çå    `â¿      
  271.     00:04 ^éñ        = 2
  272.           ^éÑ        = 2
  273.     00:08 ^éñ        = 3
  274.           ^éÑ        = 3
  275.     00:12 ^éñ        = 4
  276.           ^éÑ        = 4
  277.     00:16 ^éñ        = 5
  278.           ^éÑ        = 5
  279.     00:20 ^éñ        = 6
  280.           ^éÑ        = 6
  281.     00:24 ^éñ        = 7
  282.           ^éÑ        = 7
  283.     00:28 ^éñ        = 8
  284.           ^éÑ        = 8
  285.     01:02 ^éñ        = 9
  286.           ^éÑ        = 9
  287.     01:06 ^éñ        = 10
  288.           ^éÑ        = 10
  289.     01:10 ^éñ        = 11
  290.           ^éÑ        = 11
  291.     01:14 ^éñ        = 12
  292.           ^éÑ        = 12
  293.     01:18 ^éñ        = 13
  294.           ^éÑ        = 13
  295.     01:22 ^éñ        = 14
  296.           ^éÑ        = 14
  297.     01:26 ^éñ        = 15
  298.           ^éÑ        = 15
  299.     02:00 ^éñ        = 16
  300.           ^éÑ        = 16
  301.     02:04 ^éñ        = 17
  302.           ^éÑ        = 17
  303.     02:08 ^éñ        = 18
  304.           ^éÑ        = 18
  305.     02:12 ^éñ        = 19
  306.           ^éÑ        = 19
  307.     02:16 ^éñ        = 20
  308.           ^éÑ        = 20
  309.     02:20 ^éñ        = 21
  310.           ^éÑ        = 21
  311.     02:24 ^éñ        = 22
  312.           ^éÑ        = 22
  313.     02:28 ^éñ        = 23
  314.           ^éÑ        = 23
  315.     03:02 ^éñ        = 24
  316.           ^éÑ        = 24
  317.     03:06 ^éñ        = 25
  318.           ^éÑ        = 25
  319.     03:10 ^éñ        = 26
  320.           ^éÑ        = 26
  321.     03:14 ^éñ        = 27
  322.           ^éÑ        = 27
  323.  
  324. ]
  325.  
  326. //[ HARD_SUIT_CLOSE_BEACH
  327. //
  328. //      00:00 @MODIFYVAREVERYNTH(_FNT_FRAME, +1, 1, 27, 4)
  329. //      00:00 @MODIFYVAREVERYNTH(_BAK_FRAME, +1, 1, 27, 4)
  330. //      00:00 @SOUND _HARDSUIT
  331. //            AI ON
  332. //]
  333.  
  334. // TRIGGER TO RUN WHEN LEX WALKS INTO THE HARDSUIT MACHINE
  335. {  SUITTES3
  336.  
  337.     I  ^çô              == $Ç╝   THEN é     
  338.  
  339.     // IF THE HARDSUIT MACHINE IS NOT DAMAGED   MAKE IT WORK
  340.     I  ^⃠                   = 0 THEN
  341.         {
  342.         I  ^üå                   = 1 THEN
  343.             {
  344.             ^üå                   = 0
  345.             @Çì      HARDSUITMACHINE
  346.             }
  347.  
  348.         //IF THE PLAYER HAS NOT MOVED AT LEAST THREE METERS FROM THE
  349.         //SUITTEST TRIGGER DOSN'T START THE HARDSUIT PROCESS AGAIN
  350.         : TEST
  351.         â      
  352.         I  @Çá              (CURFIG SUITTES3) < 300 THEN
  353.             {
  354.             J    #Çù 
  355.             }
  356.  
  357.         //PLAYER IS NOW MORE THAN THREE METERS FROM SUITTEST TRIGGER
  358.         ^üå                   = 1
  359.         }
  360. }
  361.  
  362.  
  363.  
  364.  
  365. // THIS PROCESS OPENS AND CLOSES THE HARDSUIT MACHINE
  366. {   HARDSUITMACHINE
  367.     {
  368.     // FREEZE LEX
  369.     I  (@Ç¢               PLAYER) THEN
  370.         {
  371.         A  OFF
  372.         o         
  373.         }
  374.         //@@@ TRANSLATE F
  375.     //ELSE CAPTION("Can't find Lex /FFrench here /GKann Lex nicht finden.")
  376.  
  377.     // RUN HARDSUIT MACHINE ANIMATION
  378.     @Ç¥   HARD_SUIT_CLOSE_BEACH 
  379.     
  380.     // CHECK FOR THE CURRENT FORM AND CHANGE IT
  381.     I  (@Ç⌐       LEX) OR (@Ç⌐       LEXMIR) THEN
  382.         {
  383.         ù            HARD
  384.         //ADDLOGENTRY LEX HARDSUIT
  385.         }
  386.     E   
  387.         {
  388.         ù            LEX
  389.         }
  390.  
  391.     ^åô      = 3
  392.  
  393.     // MAKE SURE WE COVER OURSELVES UP BEFORE RUNNING THE SCENE
  394.     ^âÄ         = 25
  395.     ^âÅ         = 25
  396.     S         DIGSITE SUITTES2
  397.     }
  398. }       
  399.  
  400.  
  401.  
  402. // *** BLOCKS ***
  403.  
  404. { OKTODROPHERE
  405.     P        ~ÇÇ    
  406.  
  407.     ~ÇÇ     = 1
  408.  
  409.     I ( @Çí         ( CURFIG EVIL1 ) ) THEN
  410.         ~ÇÇ     = 0
  411.  
  412.     I ( @Çí         ( CURFIG EVIL2 ) ) THEN
  413.         ~ÇÇ     = 0
  414.  
  415.     é      ~ÇÇ    
  416. }
  417.  
  418. { LEX_PUT_DOWN_LTHAND
  419.     I ( @Ç¥   OKTODROPHERE ) THEN
  420.         M      PUT_DOWN_LTHAND
  421. }
  422.  
  423. { LEX_PUT_DOWN_RTHAND
  424.     I ( @Ç¥   OKTODROPHERE ) THEN
  425.         M      PUT_DOWN_RTHAND
  426. }
  427.  
  428. { MISSLE_BLINKIE
  429.  
  430.     ó               BCHH
  431.         {
  432.          :BLINKAGAIN
  433.          I  ( ^郠       = 1 ) THEN
  434.               {
  435.             ^éí        = 1
  436.             W    3
  437.                ^éí        = 0
  438.                W    3
  439.                J    #Ç¥       
  440.             }
  441.         }
  442. }
  443.  
  444. //$ 26 - version number
  445.